Instant Messaging (IM) is a communication service that allows a user on one computer to send and receive text messages in real time with another user on a second computer connected to the first computer by the Internet or other distributed communications protocol. In one version of instant messaging, the channel for this communication is often referred to metaphorically as a chat room, and the communication over the channel is referred to as chat. In another version, two or more users engage in an instant messaging conversation outside the boundaries of a chat room; each user is able to view a chat transcript on one or more local machines. Each user has a list of other users with whom they may want to chat. The IM service may alert the user when another user, who is on the user's participant list, is also online. A chat may then be started, and once started, either user can enter text that will appear on other user's displays.
IM is offered by most network and online service providers. In the workplace, IM conversations often take place between people working on common projects. In engineering and computer design activities it is not uncommon for one user to have ten or more multiple chats running simultaneously. Chats may describe simple information shared by two workers scheduling a meeting, or chats may contain complex discussions regarding proprietary information and critical decisions to keep a project moving forward. Chats may contain a high degree of historical data and proprietary knowledge that is useful not only to the participants but that may be useful to other workers within the organization who did not participate in the chat. Moreover, the knowledge and data captured in the chat transcript may be useful as historical data for future reference by the participants as well as others. Finally, in some areas, such as financial services, preservation of the chat transcript may be required by securities regulations. Therefore, it is important for organizations to preserve information captured in chat transcripts so that both the participants and the organizations can use the knowledge, information, and decisions contained in these IM conversations.
The prior art discloses both monitoring of chats as well as common repositories for chat transcripts. Monitoring of chats is disclosed in two United States patents. U.S. Pat. No. 6,631,412 to Glasser et al. discloses a system for monitoring user activity in an instant messaging session if the user has actively entered data during a first time interval. A message processor forms one or more data packets for transmission on the network such as user-entered data, and user activity messages. A user activity monitor measures the time period since the last user activity. U.S. Pat. No. 6,076,100 to Cottrille et al. discloses a method for monitoring chat room conversations including a database for storing penalty information corresponding to the identity of chat users.
The commercial prior art discloses methods to save IM conversations on both the server side and the client side. On the server side, users can save their IM messages in a common repository. Examples of applications having common repositories are FACETIME, IMLOGIC, MESSAGERITE, and IRON MOUNTAIN. These IM services provide archiving services so that financial services firms can demonstrate compliance with securities regulations. These solutions log only a limited number of end users in high-risk job roles. The financial services archiving, for example, applies only to particular groups in specific job roles. On the client side, ICQ provides a client-side repository. ICQ provides the ability to play back a chat session, both for the user and for new chat participants. But the ICQ repository is local, not distributed. The ICQ repository also depends on the affirmative choice of the person who saved the chat to play it back; therefore, in order to share the saved chat, the person must either be online, or must move the contents of the chat into a non-IM context such as email, web page, or text document. Another person can not actively open or search the chat unless the first person plays it back. Other applications, such as LOTUS SAMETIME, allow saving IM conversations as flat text. Both kinds of client applications place responsibility on the end users to save chat.
While the repositories described above allow full text search of the selectively logged chat, a number of needs arise that are not met. Server side repositories have at least three limitations. First the prior art repositories do not provide topic-based filtering by end users. Second, while chat transcripts may indeed be logged for the purpose of security and auditing, these repositories do not provide a commonly accessible, searchable repository. In other words, the prior art repositories are limited to full text online searches essentially by security personnel or senior management. Therefore, the knowledge generated or repeated in IM conversations isn't directly searchable or shareable across organizations. Chat clients aren't able to reference other chats and to recall them from a repository. Not all conversations are worth saving, but organizations should at least have the ability to choose whether to save all or some chats, or all or some chats on particular topics. Third, the prior art repositories do not allow filtering or searching on marked topics, nor do they log relevant metadata.
Client side repositories have at least three limitations. First, the end users are responsible for operations with the chat transcript, such as operations for cutting and pasting into email, for saving their chat transcripts, or for posting the transcripts to message boards. Leaving such actions up to each individual end user is an inconsistent process not subject to automation or to the application of business rules. Moreover, allowing users to control the save function, as well as to cut and paste the transcript, is an unreliable process that can also pose security risks due to unsupervised editing of the transcript. Second, personal saving of chats means the saved chats are not accessible among larger groups that might be interested in the content of the chat. Third, all chat participants do not have equal access to the chat history if the participants do not save the chat. Participants unfamiliar with previous conversations are often called into a new chat. Most chat applications do not provide search or filtering of a repository, or direct access to transcripts. Therefore, new participants must be given background and orientation to the topic at hand by second hand accounts (rather than the initial chat transcript). These additional messages take up time and resources.
The chat applications that do provide search or filtering of a repository have limitations. One method uses string-matching to provide search results. Yet the same string can occur within the context of many different topics. Second, known search methods do not filter based on a person's membership in a group, such as an organization, and so the abstract characteristics of who is speaking are not available as a filter. For example, a manager may want to see what people in his or her organization are chatting about, or the manager may want to search for a particular phrase within chats on a defined topic. Currently known methods do not allow for search and filtering of cross-reference among chats, even though many chat transcripts refer to previous conversations.
Therefore, a need arises for a system and method to store structured “chats” in a searchable repository on either or both of the client computer and the server computer. A need further arises for more precise searches through filtering by metadata, such as chat topic and user characteristics or by Lightweight Directory Access Protocol (LDAP) data such as organization, project, or membership. A need also exists for a system and method to auto-alert and/or to export to other formats such as e-mail or content management based upon the chat topics and/or participants. Moreover, a need arises to allow for retrospective application of topics to chat transcripts that have not been tagged for particular topics by end users. In this fashion, an organization may recover information in chat transcripts according to its own needs regardless of how end users have classified that information. Organizations may also automate the tagging of chats by topic if needed. Finally, a need exists for a system and method to allow managed decisions for security purposes to specify what chats will be saved and to provide for an automatic saving of specified chats or chats on specified topics.